/* eslint-disable no-use-before-define */

import axios, { type Paging, type Response } from '@/utils/axios/axios';
import { S } from 'node_modules/vite/dist/node/types.d-aGj9QkWt';

/** 消费记录 */
export function consumptionRecordsAxios(current: number, size: number): Promise<Response<Paging<ConsumptionRecord>>> {
  return axios.get(`/app/consumeRecord/getAppConsumePage`, { data: { current, size } }) as Promise<Response<Paging<ConsumptionRecord>>>;
}

/** 充值记录 */
export function savingsRecordsAxios(current: number, size: number): Promise<Response<Paging<SavingsRecord>>> {
  return axios.get(`/app/order/getAppOrderPage`, { data: { current, size } }) as Promise<Response<Paging<SavingsRecord>>>;
}

/**
 * 得到充值信息列表 (短剧商品列表)
 */
export function getDramaCommodityInfoAxios(data: GetDramaCommodityInfoRequest): Promise<Response<DramaCommodityInfo>> {
  return axios.get(`/app/baseProduct/getDramaProductListV1`, { data }) as Promise<Response<DramaCommodityInfo>>;
}

/** 得到充值服务列表 */
export function getVirtualProductListAxios(data: GetVirtualProductListRequest): Promise<Response<RechargeServiceObj>> {
  return axios.get(`/app/baseProduct/getPdtProductBaseListV1`, { data }) as Promise<Response<RechargeServiceObj>>;
}
/**
 * 创建APP订单
 */
export function createAppEpisodePayOrderAxios(data: CreateEpisodePayOrderRequest): Promise<Response<OrderInfo>> {
  return axios.post(`/app/order/createAppOrder`, data) as Promise<Response<OrderInfo>>;
}

/** 创建网页充值订单 */
export function createWebRechargeOrderAxios(data: CreateWebRechargeOrderRequest): Promise<Response<OrderInfo>> {
  return axios.post(`/app/order/createWebOrder`, data) as Promise<Response<OrderInfo>>;
}

/**
 * 创建短剧支付订单 (抖音专用)
 */
export function dyCreateEpisodePayOrderAxios(data: DyCreateEpisodePayOrderRequest): Promise<Response<DyOrderInfo>> {
  return axios.post(`/app/order/createDySkuProductOrder`, data) as Promise<Response<DyOrderInfo>>;
}
/**
 * 创建短剧支付订单 (快手专用)
 */
export function ksCreateEpisodePayOrderAxios(data: KsCreateEpisodePayOrderRequest): Promise<Response<KsOrderInfo>> {
  return axios.post(`/app/order/createKsOrder`, data) as Promise<Response<KsOrderInfo>>;
}

/** 创建K币解锁订单 */
export function createDiamondUnlockOrderAxios(data: { episodeId: number; referralLinkId?: number }): Promise<Response<UnlockInfo>> {
  return axios.post(`/app/order/createBalanceOrder`, data) as Promise<Response<UnlockInfo>>;
}

/**
 * 查询订单
 */
export function queryOrderAxios(outTradeNo: string): Promise<Response<QueryOrder>> {
  return axios.get(`/app/order/queryOrder`, { data: { outTradeNo } }) as Promise<Response<QueryOrder>>;
}

/**
 * 查询订单 (短剧详情专用)
 */
export function queryPayOrderAxios(data: { outTradeNo: string; dramaId: number }): Promise<Response<QueryPayOrder>> {
  return axios.get(`/app/order/queryDramaPayResult`, { data }) as Promise<Response<QueryPayOrder>>;
}

/** 得到快手 sku 列表 */
export function getKsThirdProductIdListAxios(data: GetKsThirdProductIdListRequest): Promise<Response<KsThirdProductInfo>> {
  return axios.get(`/app/thirdProduct/getThirdProductIdListV2`, { data }) as Promise<Response<KsThirdProductInfo>>;
}
/** 得到快手剧集支付list (短剧商品列表) (快手专用) */
export function getKsEpisodePayListAxios(data: GetKsEpisodePayListRequest): Promise<Response<KsThirdProductInfo>> {
  return axios.get(`/app/thirdProduct/getThirdDramaProductIdListV2`, { data }) as Promise<Response<KsThirdProductInfo>>;
}

/** 创建广告解锁订单 */
export function addAdRecordAxios(data: AddAdRecordRequest): Promise<Response<AdRecord>> {
  return axios.post(`/app/userAdvert/createAdvert`, data) as Promise<Response<AdRecord>>;
}

/** 创建广告解锁订单 */
export function addAdUnlockOrderAxios(data: AddAdUnlockOrderRequest): Promise<Response<UnlockInfo>> {
  return axios.post(`/app/order/createAdvertOrder`, data) as Promise<Response<UnlockInfo>>;
}

/** 创建微信K币解锁订单 */
export function wechatCreateBalanceOrderAxios(data: {
  thirdDramaId: string;
  episodeSeq: number;
  referralLinkId?: number;
  channelId?: string;
}): Promise<Response<WechatBalanceunlockInfo>> {
  return axios.post(`/app/order/wechatCreateBalanceOrder`, data) as Promise<Response<WechatBalanceunlockInfo>>;
}

/** 抖音K币解锁 */
export function createDyBalanceOrderAxios(data: {
  thirdDramaId: string;
  episodeSeq: number;
  referralLinkId?: number;
  channelId?: string;
}): Promise<Response<DyBalanceunlockInfo>> {
  return axios.post(`/app/order/createDyBalanceOrder`, data) as Promise<Response<DyBalanceunlockInfo>>;
}
/** 快手K币解锁 */
export function createKsBalanceOrderAxios(data: {
  thirdDramaId: string;
  episodeSeq: number;
  referralLinkId?: number;
  channelId?: string;
}): Promise<Response<KsBalanceunlockInfo>> {
  return axios.post(`/app/order/createKsBalanceOrder`, data) as Promise<Response<KsBalanceunlockInfo>>;
}
/** 创建微信订单 */
export function createWechatDramaOrderAxios(data: CreateWechatDramaOrderRequest): Promise<Response<WechatDramaOrder>> {
  return axios.post(`/app/order/createWechatOrder`, data) as Promise<Response<WechatDramaOrder>>;
}

/** 查询微信支付结果 */
export function queryDramaWechatPayResultAxios(data: QueryDramaWechatPayResultRequest): Promise<Response<QueryDramaWechatPayResultResp>> {
  return axios.get(`/app/order/queryDramaWechatPayResult`, { data }) as Promise<Response<QueryDramaWechatPayResultResp>>;
}
/** 查询微信支付结果 */
export function queryDramaKsPayResultAxios(data: QueryDramaKsPayResultRequest): Promise<Response<QueryDramaKsPayResultResp>> {
  return axios.get(`/app/order/queryKsDramaPayResult`, { data }) as Promise<Response<QueryDramaKsPayResultResp>>;
}

/** 查询抖音支付结果 */
export function queryDyDramaPayResultAxios(data: QueryDyDramaPayResultRequest): Promise<Response<QueryDramaDyPayResultResp>> {
  return axios.get(`/app/order/queryDyDramaPayResult`, { data }) as Promise<Response<QueryDramaDyPayResultResp>>;
}

/** 查询Web支付结果 */
export function queryWebPayResultAxios(data: { outTradeNo: string }): Promise<Response<QueryWebPayResultResp>> {
  return axios.get(`/app/order/queryWebPayResult`, { data }) as Promise<Response<QueryWebPayResultResp>>;
}

/** 创建广告解锁订单 （微信） */
export function createWechatAdvertOrderAxios(data: CreateWechatAdvertOrderRequest): Promise<Response<WechatBalanceunlockInfo>> {
  return axios.post(`/app/order/createWechatAdvertOrder`, data) as Promise<Response<WechatBalanceunlockInfo>>;
}

/** 创建广告解锁订单 （快手） */
export function createKsAdvertOrderAxios(data: CreateKsAdvertOrderRequest): Promise<Response<KsBalanceunlockInfo>> {
  return axios.post(`/app/order/createKsAdvertOrder`, data) as Promise<Response<KsBalanceunlockInfo>>;
}

/** 创建广告解锁订单 （头条） */
export function createTtAdvertOrderAxios(data: CreateTtAdvertOrderRequest): Promise<Response<TtBalanceunlockInfo>> {
  return axios.post(`/app/order/createDyAdvertOrder`, data) as Promise<Response<TtBalanceunlockInfo>>;
}

export type CreateWechatAdvertOrderRequest = {
  /** 观看后核销码  */
  advertToken: string;
  /** 剧集数 */
  episodeSeq: number;
  /** 第三方短剧id */
  thirdDramaId: string;
};

export type CreateTtAdvertOrderRequest = {
  /** 观看后核销码  */
  advertToken: string;
  /** 剧集数 */
  episodeSeq: number;
  /** 第三方短剧id */
  thirdDramaId: string;
  /** 广告id */
  adUnitId?: number | string;
};

export type CreateKsAdvertOrderRequest = {
  /** 观看后核销码  */
  advertToken: string;
  /** 剧集数 */
  episodeSeq: number;
  /** 第三方短剧id */
  thirdDramaId: string;
};

export interface QueryDramaWechatPayResultResp {
  /** data是加密串具体参考短剧播放器加密方案章节 */
  encryptedData?: string | null;
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number | null;
  /** 支付状态：-1-异常；0-待支付；1-已支付；2-支付失败；3-已退款；4-已关闭  */
  status: number;
  /** K币数 */
  virtualCoins: number;
  /** 是否需要回传 */
  back: boolean;
}

export interface QueryDramaKsPayResultResp {
  /** 已支付集数列表 */
  payEpisodeList: number[];
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number | null;
  /** 支付状态：-1-异常；0-待支付；1-已支付；2-支付失败；3-已退款；4-已关闭  */
  status: number;
  /** K币数 */
  virtualCoins: number;
  /** 是否需要回传 */
  back: boolean;
}

export type QueryDyDramaPayResultRequest = {
  /** 业务订单号 */
  outTradeNo: string;
  /** 第三方短剧id */
  thirdDramaId: string;
};
export type QueryDramaWechatPayResultRequest = {
  /** 业务订单号 */
  outTradeNo: string;
  /** 第三方短剧id */
  thirdDramaId: string;
};

export type QueryDramaKsPayResultRequest = {
  /** 业务订单号 */
  outTradeNo: string;
  /** 第三方短剧id */
  thirdDramaId: string;
};

export type WxPaymentDTO = {
  /** appid */
  appId: string;
  /** 时间戳，从 1970 年 1 月 1 日 00:00:00 至今的秒数，即当前的时间 */
  timestamp: string;
  /** 随机字符串，长度为32个字符以下 */
  nonceStr: string;
  /** 统一下单接口返回的 prepay_id 参数值，提交格式如：prepay_id=*/
  packageVal: string;
  /** 签名算法，应与后台下单时的值一致 */
  signType?: 'HMAC-SHA256' | 'MD5' | 'RSA';
  /** 签名，具体见微信支付文档 */
  paySign: string;
};

export type WechatDramaOrder = {
  /*** 支付的类型, 不同的支付类型有各自额外要传的附加参数：short_series_goods-道具直购；short_series_coin-代币充值；  */
  mode: string;
  /** 支付签名,paySig = to_hex(hmac_sha256(appKey,uri + '&' + signData)) */
  paySig: string;
  /** 用户态签名,signature = to_hex(hmac_sha256(sessionKey,signData))  */
  signature: string;
  /** 具体支付参数见signData */
  signData: string;
  /** 业务订单号 */
  outTradeNo: string;
  /** 微信普通支付 */
  paymentDTO?: WxPaymentDTO;
};

export type CreateWechatDramaOrderRequest = {
  /** 商品类型：商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType?: number;
  /** 商品id */
  productId?: number;
  /** 推广链接id */
  referralLinkId?: number;
  /** 第三方短剧 ID */
  thirdDramaId?: string;
  /** 第几集 */
  episodeSeq?: number;
  /** 巨量广告项目id */
  projectId?: string;
  /** 巨量广告计划ID */
  promotionId?: string;
  /** 设备系统平台(如ios) */
  devicePlatform: string;
  /** 广告点击 ID */
  clickId?: string;
  /**视频号作者ID**/
  wxExportId?: string;
  /**视频号内容ID**/
  wxFinderId?: string;
  /**加热订单ID**/
  wxPromotionId?: string;
  /**投广渠道：juliang-巨量；cili-磁力；tengxun-腾讯；xingtu-星图；baidu-百度；*/
  channelId?: string;
  launchQueryPramas: {};
};

export type WechatBalanceunlockInfo = {
  /** data是加密串具体参考短剧播放器加密方案章节  */
  encryptedData?: string | null;
  /** 解锁状态：0-失败；1-成功； */
  unLockStatus: 0 | 1;
  /** K币数 */
  virtualCoins: number;
  /** 解锁成功后的提示信息 */
  unlockMsg: string;
};

export type DyBalanceunlockInfo = {
  /** 解锁状态：0-失败；1-成功； */
  unLockStatus: 0 | 1;
  /** K币数 */
  virtualCoins: number;
  /** 解锁成功后的提示信息 */
  unlockMsg: string;
};

export type TtBalanceunlockInfo = {
  /** 解锁状态：0-失败；1-成功； */
  unLockStatus: 0 | 1;
  /** K币数 */
  virtualCoins: number;
  /** 上锁剧集 */
  lockList: DyPlayletLockList[];
  /** 已支付剧集 */
  unlockList: DyPlayletLockList[];
  /**免费剧集 */
  freeList: DyPlayletLockList[];
};
export type KsBalanceunlockInfo = {
  /** 解锁状态：0-失败；1-成功； */
  unLockStatus: 0 | 1;
  /** K币数 */
  virtualCoins: number;
  /** 解锁的剧集序号数组 */
  payEpisodeList: number[];
};

export type AdRecord = {
  /** 解锁需要的Token  */
  advertToken: string;
};

export type AddAdUnlockOrderRequest = {
  /** 剧集 ID */
  episodeId: number;
  /** 解锁需要的Token  */
  advertToken: string;
};

export type AddAdRecordRequest =
  | {
      /** 短剧ID */
      dramaId: number;
      /** 剧集ID  */
      episodeId: number;
      /** 链接 id */
      referralLinkId: number | null | undefined;
      /** 广告点击 ID */
      clickId?: string;
      /** 广告 ID */
      adUnitId?: number | string;
      promotionId?: number | string;
      launchQueryPramas: {};
    }
  | {
      /** 第三方短剧 ID */
      thirdDramaId?: string;
      /** 第几集 */
      episodeSeq?: number;
      /** 链接 id */
      referralLinkId: number | null | undefined;
      /** 广告点击 ID */
      clickId?: string;
      promotionId?: number | string;
    };

export type GetVirtualProductListRequest = {
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number;
  /** 推广链接ID */
  referralLinkId?: number;
  /** 手机操作系统 */
  devicePlatform: string;
  /**视频号作者ID**/
  wxExportId?: string;
  /**视频号内容ID**/
  wxFinderId?: string;
  /**加热订单ID**/
  wxPromotionId?: string;
};

export type GetKsEpisodePayListRequest = {
  /** 推广链接ID */
  referralLinkId?: number;
  /** 短剧ID */
  dramaId: number;
};
export type GetDramaCommodityInfoRequest = {
  /** 推广链接ID */
  referralLinkId?: number;
  /** 短剧ID */
  dramaId?: number;
  /** 第三方短剧id */
  thirdDramaId?: string;
  /** 手机操作系统 */
  devicePlatform: string;
  /**视频号作者ID**/
  wxExportId?: string;
  /**视频号内容ID**/
  wxFinderId?: string;
  /**加热订单ID**/
  wxPromotionId?: string;
};

export type CreateWebRechargeOrderRequest = {
  /** 短剧id，跟随referralProductTemplateId参数是否必填  */
  dramaId?: number | null;
  /** 剧集id，跟随referralProductTemplateId参数是否必填  */
  episodeId?: number | null;
  /** 第几集  */
  episodeSeq?: number | null;
  /** 商品ID */
  productId?: number | null;
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number;
  /** 推广链接id */
  referralLinkId?: number | null;
  /** 手机操作系统 */
  devicePlatform: string;
};

export type GetKsThirdProductIdListRequest = {
  /** 购买商品订单ID */
  productType: number;
  /** 推广链接id */
  referralLinkId?: number;
};

export type OrderInfo = {
  /** 支付宝网页支付from */
  alipayForm?: string | null;
  /** 订单token */
  orderInfoToken?: string;
  /** 第三方交易订单号  */
  transactionId?: string;
  /** 订单号 */
  outTradeNo: string;
  /** 是否已支付 */
  pay: boolean;
};

export type DyOrderInfo = {
  /** 订单信息 */
  skuOrderRespDTO: string;
  /** 订单权限  */
  byteAuthorization: string;
  /** 订单号  */
  outTradeNo: string;
  /** 设备系统平台(如ios) */
  devicePlatform: string;
};
export type KsOrderInfo = {
  /** 第三方交易订单号 */
  transactionId: string;
  /** 订单token  */
  orderInfoToken: string;
  /** 订单号  */
  outTradeNo: string;
};

export type UnlockInfo = {
  /** K币数 */
  virtualCoins: number;
  /** 解锁状态：0-失败；1-成功； */
  unLockStatus: number;
  /** 剧集-播放地址集合 */
  episodeMap: UnlockEpisodeUrlInfoMap;
  /** 解锁成功后的提示信息 */
  unlockMsg: string;
};

export type CreateEpisodePayOrderRequest = {
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number;
  /** 短剧 ID */
  dramaId: number;
};
export type DyCreateEpisodePayOrderRequest = {
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType?: number;
  /** 商品ID */
  productId?: number;
  /** 推广链接id */
  referralLinkId?: number;
  /** 短剧 ID */
  thirdDramaId?: string;
  /** 第几集 */
  episodeSeq?: number;
  /** 设备系统平台(如ios) */
  devicePlatform: string;
  /** 巨量广告项目id */
  projectId?: string;
  /** 巨量广告计划ID */
  promotionId?: string;
  /** 广告点击 ID */
  clickId?: string;
  /** 面板选择序号 */
  panelSeqNum?: number;
  /** 第三方面板id */
  thirdPanelId?: string;
  /**投广渠道：juliang-巨量；cili-磁力；tengxun-腾讯；xingtu-星图；baidu-百度；*/
  channelId?: string;
  launchQueryPramas: {};
};

export type KsCreateEpisodePayOrderRequest = {
  /** 商品类型：商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType?: number;
  /** 商品ID */
  productId?: number;
  /** 推广链接id */
  referralLinkId?: number;
  /** 短剧 ID */
  thirdDramaId?: string;
  /** 第几集 */
  episodeSeq: number;
  /** 设备系统平台(如ios) */
  devicePlatform: string;
  /** 巨量广告项目id */
  projectId?: string;
  /** 巨量广告计划ID */
  promotionId?: string;
};

export type UnlockEpisodeUrl = {
  /** 封面图  */
  episodeCover: string;
  /** 剧集播放地址  */
  episodeUrl: string;
  /** 剧集ID  */
  episodeId: string;
  /** 剧集标题  */
  episodeTitle: string;
};

export type UnlockEpisodeUrlInfoMap = Record<number, UnlockEpisodeUrl>;

export type KsThirdProductInfo = {
  /** 广告解锁：0-不支持；1-支持； */
  advertUnlock: number;
  /** 商品信息  */
  productList: KsThirdProduct[];
  /** 默认选中的下标  */
  selectIndex: number;
  /** 本集消耗 */
  virtualCoin: number;
};

export interface KsThirdProduct {
  /** 商品sku ID */
  thirdProductId: string;
  /** 标签（如最多人选，超值等等） */
  recommendTags: string | null;
}

export interface SavingsRecord {
  /** 创建时间 */
  createTime: string;
  /** 订单名称 */
  orderSubject: string;
  /** 总金额 */
  totalAmount: number;
  /** 交易时间 */
  tradeTime: string;
  /** 订单号 */
  outTradeNo: string;
}
export interface ConsumptionRecord {
  /** 消费目标 */
  consumeTitle: string;
  /** 消费类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集； */
  consumeType: number;
  /** 消费类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集； */
  consumeTypeDesc: number;
  /** 创建时间 */
  createTime: string;
  /** 付费类型：1-现金；2-K币；3-优惠券；4-广告； */
  payType: number;
  /** 平台类型：1-抖音；2-快手；3-微信； */
  platformType: number;
  /** 平台类型描述：1-抖音；2-快手；3-微信； */
  platformTypeDesc: string;
  /** 总金额  */
  totalAmount: number;
  /** 付费类型描述  */
  payTypeDesc: string;
  /** 描述 */
  consumeDesc: string;
}

export type Product = {
  /** 商品营销信息 */
  marketingDesc?: string;
  /** 商品id  */
  productId?: number;
  /** 商品名称 */
  productName: string;
  /** 商品价格（元） */
  productPrice: number;
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number;
  /** 推荐标签 */
  recommendTags?: string | null;
  /** 单位  */
  unit: string;
  /** 数量（对应K币数或VIP天数）  */
  productQuantity: number;
};
export type DramaCommodityInfo = {
  productList: Product[];
  /** 本集人民币解锁价格(人民币) */
  episodePrice: number;
  /** 本集K币解锁价格(K币) */
  virtualCoin: number;
  /** 用户K币余额 */
  userVirtualCoins: number;
  /** 默认选中的下标 */
  selectIndex: number;
  /** 广告解锁：0-不支持；1-支持； */
  advertUnlock: 0 | 1;
  /** 剧目总集数 */
  dramaEpisodeNum?: number;
  /** 已上线剧目数量 */
  dramaOnlineNum?: number;
  /** 待解锁剧集数量 */
  dramaWaitUnlockNum?: number;
  /** 是否可以支付 */
  pay: boolean;
};
export type RechargeServiceObj = {
  /** 充值商品列表  */
  productList: RechargeService[];
  /** 默认选中 */
  selectIndex: number;
  /** 是否可以支付 */
  pay: boolean;
  /** 在播剧目 */
  dramaOnlineNum: number;
};

export type RechargeService = {
  /** 商品营销信息 */
  marketingDesc: string | null;
  /** 商品id  */
  productId: number;
  /** 商品名称  */
  productName: string;
  /** 商品价格（元） */
  productPrice: number;
  /** 数量（对应K币数或VIP天数）  */
  productQuantity: number;
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number;
  /** 推荐标签 */
  recommendTags?: string | null;
  /** 单位   */
  unit: string | null;
};

export type QueryOrder = {
  /** 订单号 */
  outTradeNo?: string;
  /** 支付渠道：UNKNOWN - 未知；WECHAT-微信；ALIPAY-支付宝； */
  payChannel?: string;
  /** 支付状态：-1-异常；0-待支付；1-已支付；2-支付失败；3-已退款；4-已关闭  */
  status?: number;
  /** 总金额 */
  totalAmount?: number;
  /** 第三方交易状态：NOTPAY-未支付；SUCCESS-支付成功；FAILED-失败；REFUND-转入退款；USERPAYING-用户支付中； */
  tradeState?: string;
  /** 交易时间 */
  tradeTime?: string;
  /** 第三方交易订单号 */
  transactionId?: string;
};

export type QueryPayOrder = {
  /** 剧集-播放地址集合 */
  episodeMap?: UnlockEpisodeUrlInfoMap;
  /** 支付状态：-1-异常；0-待支付；1-已支付；2-支付失败；3-已退款；4-已关闭 */
  status?: number | null;
  /** K币数 */
  virtualCoins?: number | null;
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number;
  /** 是否回传：true-回传给巨量； */
  back: boolean;
};

type DyPlayletLockList = {
  /** 开始集数 (从1开始) */
  start_episode_no: number;
  /** 结束集数 */
  end_episode_no: number;
};

export type QueryWebPayResultResp = {
  /** 短剧名称 */
  dramaTitle?: string;
  /** 剧集id */
  episodeId?: number;
  /** 剧目id */
  dramaId?: number;
  /** 第几集 */
  episodeSeq?: number;
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number;
  /** 支付状态：-1-异常；0-待支付；1-已支付；2-支付失败；3-已退款；4-已关闭 */
  status: number;
  /** 交易状态描述 */
  tradeStateDesc: string;
};

export type QueryDramaDyPayResultResp = {
  /** data是加密串具体参考短剧播放器加密方案章节 */
  encryptedData?: string | null;
  /** 商品类型：1-充值K币；2-购买会员；3-购买剧集；4-购买全集；10-K币解锁单集；11-分享解锁；12-权益券解锁；13-广告解锁； */
  productType: number | null;
  /** 支付状态：-1-异常；0-待支付；1-已支付；2-支付失败；3-已退款；4-已关闭  */
  status: number;
  /** K币数 */
  virtualCoins: number;
  /** 是否需要回传 */
  back: boolean;
  /** 配置右下角自定义button，当前仅展示Array中的第一个icon */
  lockList: DyPlayletLockList[];
  /** 小程序分享参数 */
  unlockList: DyPlayletLockList[];
  /** 是否展示解锁页，默认为true */
  freeList: DyPlayletLockList[];
};
